#ifndef EXAMPLEBASENODE_H
#define EXAMPLEBASENODE_H

#include <nodeconnector.h>
#include <nodeitem.h>

class ExampleBaseNode : public NodeItem
{
public:
    QGridLayout  *innerGridLayout;
    QHBoxLayout *topLayout;
    QVBoxLayout *leftLayout;
    QVBoxLayout *rightLayout;
    QHBoxLayout *bottomLayout;


    void setWidget(QWidget *widget) ;


    ExampleBaseNode(QMenu *contextMenu, QGraphicsItem *parent = 0, QGraphicsScene *scene = 0, Qt::WindowFlags wFlags = 0) ;


    virtual void addConnectorAndLabel(QString name, NodeConnector::ConnectorType t, NodeConnector::ConnectorAlignment align);


    virtual void serialize(QTextStream& out);

    virtual void deserialize(QTextStream& out, QMap<int, ExampleBaseNode*>& map);

    virtual int getId() = 0;
};

#endif // EXAMPLEBASENODE_H
